从零搭建自动化测试平台

您所在的位置:网站首页 自动化测试 平台 从零搭建自动化测试平台

从零搭建自动化测试平台

2023-09-08 10:26| 来源: 网络整理| 查看: 265

概述

LuckyFrame LuckyFrame官网

这里我选的是一个 开源自动化测试平台 LuckyFrame,感兴趣小伙伴可以去官网深挖。

平台特点:

分布式测试:使用Web-Client的方式,Web端负责基本信息管理展示,Client负责用例执行,任意无限扩展客户端。专业用例管理:自动化用例的专业管理方式,让您编写自动化用例更简单,直观。质量管理:Web端不仅仅有用来管理自动化相关的模块,更可以做一些简单的质量数据收集分析以及数据的多图表展示。多线程执行用例:客户端执行用例可以指定线程数量,用例运行更快速。多语言驱动:支持JAVA以及Python语言编写测试驱动,自动化测试手段更加灵活多变。定时任务调度:支持自定义配置调度任务,包括指定线程数,指定执行客户端,远程执行shell重启tomcat,对jenkins中的项目进行构建等。测试过程监控:客户端运行用例采用命令行的方式,在客户端可以实时查看过程。Web端可以通过任务查询查看测试进度。日志定位:客户端LOG4J+数据库记录测试过程日志,2种方式都可以通过Web端实时查看定位问题。接口+Web UI+移动端UI多纬度自动化:支持接口+Web UI+移动端UI自动化,Web UI自动化采用WebDriver3.0封装,移动端UI自动化采用APPIUM封装,纯关键字驱动,0编码。HTTP+Socket接口免编码:完全封装HTTP以及Socket接口,协议模板+纯关键字驱动,免编码,初级测试人员的福音,与其他类似开源工具相比优势明显在线调试用例:用例步骤管理界面直接调试自动化用例,避免使用开发工具调试带来的麻烦,省心、省力、省脑子,但是不能不要脑子。Bootstrap 小清新风格界面:整套Web系统基于Bootstrap风格,以及多种其下的插件,构建清爽界面。

近期媳妇想从功能测试进阶测试开发,本着替老婆排忧解难的原则,我决定先下水探探路。话不多说开整:

环境

这里我准备了一台阿里云 ECS ,用于搭建平台。

型号 :ecs.t5

系统 :Ubuntu 18.04 64位

CPU :2 核

内存 :8 GB

磁盘 :40 GB ESSD 云盘,能够提供 2021 IOPS 。

JDK、MySQL、Nginx我们选择OneinStack一键安装 OneinStack官网

 我们把想要安装的插件选上,复制安装命令

  

命令输入静待ing.......

⌛️ 

安装完毕耗时8分钟

 打开浏览器输出服务器IP后OneinStack首页出现,🎉恭喜你安装成功!

数据库

MySQL有了那么下面我们先创建平台数据库

首先先切OneinStack目录,这里我的路径是【cd /oneinstack】有的可能是【cd /root/oneinstack】

进入OneinStack目录后,先查看数据库默认root密码【grep dbrootpwd options.conf】

OK 密码有了我们继续,登录mysql 【mysql -u root -p】输入密码回车进入mysql

下面重点来了:

我们先创建一个新用户

mysql > drop user if exists 'luckyframe'@'%';

创建数据库

mysql > create database luckyframe default character set utf8mb4 collate utf8mb4_unicode_ci;

切换用户

mysql > use luckyframe;

添加用户名密码

luckyframe > create user 'luckyframe'@'%' identified by 'luckyframe123456';

赋予用户权限

luckyframe > grant all privileges on luckyframe.* to 'luckyframe'@'%';

刷新

luckyframe > flush privileges;

结束测试一下

连接成功!数据库篇结束!!!

部署

数据库准备完,接下来就是修改配置、打包、部署。

idea打包

用过idea的小伙伴,应该知道idea用maven打包很简单。不过没用的小伙伴也不用着急下面有直接服务器打包的方式。 

 首先download代码,这里用过idea的小伙伴都知道,就不多讲了

git:https://gitee.com/seagull1985/LuckyFrameWeb.git

第一步当然先把数据库的配置修改了 

因为服务器80端口一般都会被占用,这里我们把端口改成8888

 ps:重点!!!这里我遇到了一个坑

LuckyFrameWebLuckyFrameWeb是Flyway来管理数据库版本,但是Flyway的5.2.2版本有时候会出现很多奇怪的问题,官方现在是引用5.3,因此我们需要把版本降下来,这里我引用的是5.2.1

下面就简单了,找到maven执行install,结束在你的工程 target下会有个LuckyFrameWeb.jar

 把包放到服务器的data文件夹下

 在服务上找到这个包

 【nohup java -jar LuckyFrameWeb.jar &】后台执行java -jar

 【tail -f nohup.out】查看日志

 ps:重点!!!用阿里云服务的小伙伴一定要记得要关闭防火墙和开发安全组端口

打开浏览器 输入 服务器IP:8888 

默认账号密码:admin | admin

idea打包 over

服务器打包

下面我们进行服务器打包,第一步当然是装个maven啦

我们先下载压缩包

解压缩【tar zxvf apache-maven-3.6.3-bin.tar.gz】 解压完成后生成一个目录:apache-maven-3.6.3

 转移至固定目录(可选,但推荐)

$ # 推荐放在 /usr/local/maven 下 $【mkdir /usr/local/maven】 $【sudo mv apache-maven-3.6.3 /usr/local/maven/】

配置环境变量

$ # 这一步的目的是让系统可以通过 PATH 找到 maven 的可执行文件 $【echo "MAVEN_HOME=/usr/local/maven/apache-maven-3.6.3" >> ~/.bashrc】 $【echo "PATH=${PATH}:${MAVEN_HOME}/bin" >> ~/.bashrc】 $【 echo "export PATH" >> ~/.bashrc】 $【 source ~/.bashrc】

检查是否安装成功 【mvn -v】

maven OK了,下一步download代码

https://gitee.com/seagull1985/LuckyFrameWeb?_from=gitee_search

手动下载zip包,迁移到服务器home文件夹 

 

老规矩,切换目录,解压zip包 【unzip LuckyFrameWeb-master.zip】

 这里我们可以看到代码已解压

 老规矩,修改配置,上面idea的步骤来一遍

 接下来该打包了,我们先切换到LuckyFrameWeb目录【cd /home/LuckyFrameWeb-master】

打包【mvn install】

 结束我们可以看见target也有我们要的包了

 把包转移到data目录下

【cd /home/LuckyFrameWeb-master/target】

【sudo cp LuckyFrameWeb.jar /data】

 老规矩

 【cd /】【cd data/】切换目录

 【nohup java -jar LuckyFrameWeb.jar &】后台执行java -jar

 【tail -f nohup.out】查看日志

打开浏览器 输入 服务器IP:8888 

默认账号密码:admin | admin

呼~ 完结撒花? nonono既然是自动化平台怎么能手动打包呢,接下来我们进行自动化部署

自动化部署

来吧,先安装Jenkins

配置环境变量,在/etc/profile中添加 export JAVA_HOME=/usr/lib/jvm/Java-8-openjdk-amd64  export JRE_HOME=$JAVA_HOME/jre  export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH  export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH 

 使配置立即生效(无需重启)【source /etc/profile】

 安装jenkins

【wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add - 】

【sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ >】

【/etc/apt/sources.list.d/jenkins.list' 】

【sudo apt-get update 】

【sudo apt-get install jenkins】

jenkins的默认端口是8080这里我们修改一下

找到 /etc/default/jenkins文件

修改端口为8989 

 启动jenkins 【/etc/init.d/jenkins restart】

浏览器访问 IP:8989 

​ 根据提示找到initialAdminPassword文件,打开复制密码

选择跳过插件安装

​ 

​ 

进入首页,英文??那么先把必要插件安装上

 

 先把汉化包安装上

刷新,汉化了

​ 

继续安装Maven、Git插件

​ 

插件安装完,开始配置环境

新增JDK -》取消自动安装 -》添加默认JDK地址【/usr/lib/jvm/java-1.8.0-openjdk-amd64】

 新增maven -》取消自动安装 -》添加默认maven地址【/usr/local/maven/apache-maven-3.6.3】

 应用保存,开始创建任务

 Git仓库这里小伙伴自行百度吧,文章太长了。。。。。

实在不行可以用官网 Git仓库地址  git:https://gitee.com/seagull1985/LuckyFrameWeb.git

ps:官网 Git仓库地址的小伙伴要注意配置文件!!!否则项目可能启不来!!!

 

 下面先构建mave命令

 

然后开始构建shell

 

#export BUILD_ID=dontKillMe这一句很重要,这样指定了,项目启动之后才不会被Jenkins杀掉。 export BUILD_ID=dontKillMe

#指定最后编译好的jar存放的位置 www_path=/data

#Jenkins中编译好的jar位置 jar_path=/var/lib/jenkins/workspace/test/luckyframe/target

#Jenkins中编译好的jar名称 jar_name=LuckyFrameWeb.jar

#进入指点的编译好的jar的位置 cd ${jar_path}

#将编译好的jar复制到最后指定的位置 cp ${jar_path}/${jar_name} ${www_path}

#进入最后指定存放jar的位置 cd ${www_path}

#启动jar,指定SpringBoot的profiles为test,后台启动 java -jar ${jar_name} &

 应用保存,开始构建

 问题又来了,jenkins无权限

找到 /etc/default/jenkins 文件修改权限为root

 运行jps -l 找到jenkins进程

 kill 30861 杀死进程 【/etc/init.d/jenkins restart】再重启

再次构建

 登录

完结撒花!!!

ps:jenkins还可以添加优化每次启动自动杀死上一个进程等等,luckyframe功能也可以自行探索 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3